Course syllabus

Efficient C
Effektiv C

EDAG01, 7.5 credits, G2 (First Cycle)

Valid for: 2024/25
Faculty: Faculty of Engineering LTH
Decided by: PLED C/D
Date of Decision: 2024-02-21
Effective: 2024-05-08

General Information

Depth of study relative to the degree requirements: First cycle, in-depth level of the course cannot be classified
Elective for: C4-pvt, D4-is, D4-pv, D4-hs, E4, F4, F4-bs, I4, M4, N4, Pi4-pv
Language of instruction: The course will be given in Swedish

Aim

The purpose of the course is that the students should learn how to write efficient programs in the C language. In order to achieve this main purpose, three other purposes of the course are that the students should learn about (1) the ISO C18 language, (2) modern computer architecture, from the perspective of the programmer, with focus on microprocessors and cache memories, and (3) modern tools to evaluate C programs in terms of correctness and efficiency.

Learning outcomes

Knowledge and understanding
For a passing grade the student must

Competences and skills
For a passing grade the student must

Judgement and approach
For a passing grade the student must

Contents

The ISO C18 standard, the principles of the C language, comparison between Java and C, struct, pointer, array, memory allocation, global variables, static storage duration, the C standard library, C compiler, implementation defined behaviour, unspecified behaviour, undefined behaviour, storage class specifiers, type specifiers, C preprocessor, GDB, Valgrind, the profiling tools GPROF, OPROFILE and GCOV, pipelined microprocessors, cache memories, using simulation tools for performance analysis, and a methodology to maximize the performance of a C program.

Examination details

Grading scale: TH - (U, 3, 4, 5) - (Fail, Three, Four, Five)
Assessment: To pass the course it is required to pass the oral exam, computer labs, and a project. In order to participate in the exam, the laboratory sessions must be completed. Final grades in the course are based on the results of the oral exam.

The examiner, in consultation with Disability Support Services, may deviate from the regular form of examination in order to provide a permanently disabled student with a form of examination equivalent to that of a student without a disability.

Modules
Code: 0122. Name: Examination.
Credits: 4.5. Grading scale: TH - (U, 3, 4, 5). Assessment: Approved examination. The module includes: Oral examination.
Code: 0222. Name: Laboratory Sessions.
Credits: 2.0. Grading scale: UG - (U, G). Assessment: Approved laboratory sessions. The module includes: Computer labs.
Code: 0322. Name: Project.
Credits: 1.0. Grading scale: UG - (U, G). Assessment: Approved project.

Admission

Admission requirements:

The number of participants is limited to: No
Kursen överlappar följande kurser: EDAF15 EDAA25

Reading list

Contact

Course coordinator: Jonas Skeppstedt, jonas.skeppstedt@cs.lth.se
Course homepage: https://cs.lth.se/edag01